le2(0, Y) -> true
le2(s1(X), 0) -> false
le2(s1(X), s1(Y)) -> le2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), Y) -> ifMinus3(le2(s1(X), Y), s1(X), Y)
ifMinus3(true, s1(X), Y) -> 0
ifMinus3(false, s1(X), Y) -> s1(minus2(X, Y))
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
↳ QTRS
↳ Non-Overlap Check
le2(0, Y) -> true
le2(s1(X), 0) -> false
le2(s1(X), s1(Y)) -> le2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), Y) -> ifMinus3(le2(s1(X), Y), s1(X), Y)
ifMinus3(true, s1(X), Y) -> 0
ifMinus3(false, s1(X), Y) -> s1(minus2(X, Y))
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
le2(0, Y) -> true
le2(s1(X), 0) -> false
le2(s1(X), s1(Y)) -> le2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), Y) -> ifMinus3(le2(s1(X), Y), s1(X), Y)
ifMinus3(true, s1(X), Y) -> 0
ifMinus3(false, s1(X), Y) -> s1(minus2(X, Y))
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
minus2(0, x0)
minus2(s1(x0), x1)
ifMinus3(true, s1(x0), x1)
ifMinus3(false, s1(x0), x1)
quot2(0, s1(x0))
quot2(s1(x0), s1(x1))
QUOT2(s1(X), s1(Y)) -> QUOT2(minus2(X, Y), s1(Y))
IFMINUS3(false, s1(X), Y) -> MINUS2(X, Y)
MINUS2(s1(X), Y) -> LE2(s1(X), Y)
MINUS2(s1(X), Y) -> IFMINUS3(le2(s1(X), Y), s1(X), Y)
LE2(s1(X), s1(Y)) -> LE2(X, Y)
QUOT2(s1(X), s1(Y)) -> MINUS2(X, Y)
le2(0, Y) -> true
le2(s1(X), 0) -> false
le2(s1(X), s1(Y)) -> le2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), Y) -> ifMinus3(le2(s1(X), Y), s1(X), Y)
ifMinus3(true, s1(X), Y) -> 0
ifMinus3(false, s1(X), Y) -> s1(minus2(X, Y))
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
minus2(0, x0)
minus2(s1(x0), x1)
ifMinus3(true, s1(x0), x1)
ifMinus3(false, s1(x0), x1)
quot2(0, s1(x0))
quot2(s1(x0), s1(x1))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
QUOT2(s1(X), s1(Y)) -> QUOT2(minus2(X, Y), s1(Y))
IFMINUS3(false, s1(X), Y) -> MINUS2(X, Y)
MINUS2(s1(X), Y) -> LE2(s1(X), Y)
MINUS2(s1(X), Y) -> IFMINUS3(le2(s1(X), Y), s1(X), Y)
LE2(s1(X), s1(Y)) -> LE2(X, Y)
QUOT2(s1(X), s1(Y)) -> MINUS2(X, Y)
le2(0, Y) -> true
le2(s1(X), 0) -> false
le2(s1(X), s1(Y)) -> le2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), Y) -> ifMinus3(le2(s1(X), Y), s1(X), Y)
ifMinus3(true, s1(X), Y) -> 0
ifMinus3(false, s1(X), Y) -> s1(minus2(X, Y))
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
minus2(0, x0)
minus2(s1(x0), x1)
ifMinus3(true, s1(x0), x1)
ifMinus3(false, s1(x0), x1)
quot2(0, s1(x0))
quot2(s1(x0), s1(x1))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
LE2(s1(X), s1(Y)) -> LE2(X, Y)
le2(0, Y) -> true
le2(s1(X), 0) -> false
le2(s1(X), s1(Y)) -> le2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), Y) -> ifMinus3(le2(s1(X), Y), s1(X), Y)
ifMinus3(true, s1(X), Y) -> 0
ifMinus3(false, s1(X), Y) -> s1(minus2(X, Y))
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
minus2(0, x0)
minus2(s1(x0), x1)
ifMinus3(true, s1(x0), x1)
ifMinus3(false, s1(x0), x1)
quot2(0, s1(x0))
quot2(s1(x0), s1(x1))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
LE2(s1(X), s1(Y)) -> LE2(X, Y)
trivial
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
le2(0, Y) -> true
le2(s1(X), 0) -> false
le2(s1(X), s1(Y)) -> le2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), Y) -> ifMinus3(le2(s1(X), Y), s1(X), Y)
ifMinus3(true, s1(X), Y) -> 0
ifMinus3(false, s1(X), Y) -> s1(minus2(X, Y))
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
minus2(0, x0)
minus2(s1(x0), x1)
ifMinus3(true, s1(x0), x1)
ifMinus3(false, s1(x0), x1)
quot2(0, s1(x0))
quot2(s1(x0), s1(x1))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
IFMINUS3(false, s1(X), Y) -> MINUS2(X, Y)
MINUS2(s1(X), Y) -> IFMINUS3(le2(s1(X), Y), s1(X), Y)
le2(0, Y) -> true
le2(s1(X), 0) -> false
le2(s1(X), s1(Y)) -> le2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), Y) -> ifMinus3(le2(s1(X), Y), s1(X), Y)
ifMinus3(true, s1(X), Y) -> 0
ifMinus3(false, s1(X), Y) -> s1(minus2(X, Y))
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
minus2(0, x0)
minus2(s1(x0), x1)
ifMinus3(true, s1(x0), x1)
ifMinus3(false, s1(x0), x1)
quot2(0, s1(x0))
quot2(s1(x0), s1(x1))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
IFMINUS3(false, s1(X), Y) -> MINUS2(X, Y)
Used ordering: Combined order from the following AFS and order.
MINUS2(s1(X), Y) -> IFMINUS3(le2(s1(X), Y), s1(X), Y)
[IFMINUS2, MINUS2] > [false, le, true] > s1
0 > s1
le2(s1(X), 0) -> false
le2(s1(X), s1(Y)) -> le2(X, Y)
le2(0, Y) -> true
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
MINUS2(s1(X), Y) -> IFMINUS3(le2(s1(X), Y), s1(X), Y)
le2(0, Y) -> true
le2(s1(X), 0) -> false
le2(s1(X), s1(Y)) -> le2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), Y) -> ifMinus3(le2(s1(X), Y), s1(X), Y)
ifMinus3(true, s1(X), Y) -> 0
ifMinus3(false, s1(X), Y) -> s1(minus2(X, Y))
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
minus2(0, x0)
minus2(s1(x0), x1)
ifMinus3(true, s1(x0), x1)
ifMinus3(false, s1(x0), x1)
quot2(0, s1(x0))
quot2(s1(x0), s1(x1))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
QUOT2(s1(X), s1(Y)) -> QUOT2(minus2(X, Y), s1(Y))
le2(0, Y) -> true
le2(s1(X), 0) -> false
le2(s1(X), s1(Y)) -> le2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), Y) -> ifMinus3(le2(s1(X), Y), s1(X), Y)
ifMinus3(true, s1(X), Y) -> 0
ifMinus3(false, s1(X), Y) -> s1(minus2(X, Y))
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
minus2(0, x0)
minus2(s1(x0), x1)
ifMinus3(true, s1(x0), x1)
ifMinus3(false, s1(x0), x1)
quot2(0, s1(x0))
quot2(s1(x0), s1(x1))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
QUOT2(s1(X), s1(Y)) -> QUOT2(minus2(X, Y), s1(Y))
s1 > [0, false, true]
minus2(0, Y) -> 0
minus2(s1(X), Y) -> ifMinus3(le2(s1(X), Y), s1(X), Y)
le2(s1(X), 0) -> false
le2(s1(X), s1(Y)) -> le2(X, Y)
ifMinus3(true, s1(X), Y) -> 0
ifMinus3(false, s1(X), Y) -> s1(minus2(X, Y))
le2(0, Y) -> true
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
le2(0, Y) -> true
le2(s1(X), 0) -> false
le2(s1(X), s1(Y)) -> le2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), Y) -> ifMinus3(le2(s1(X), Y), s1(X), Y)
ifMinus3(true, s1(X), Y) -> 0
ifMinus3(false, s1(X), Y) -> s1(minus2(X, Y))
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
minus2(0, x0)
minus2(s1(x0), x1)
ifMinus3(true, s1(x0), x1)
ifMinus3(false, s1(x0), x1)
quot2(0, s1(x0))
quot2(s1(x0), s1(x1))